This disclosure relates generally to activity-based block management of a clustered file system and, more specifically, to activity-based block management of a clustered file system using client-side block maps.
A file system facilitates organizing data by providing procedures to store, retrieve and update the data, as well as manage available space on storage devices that store the data. In general, a file system attempts to organize data in an efficient manner, is tuned to specific characteristics of an associated storage device, and is tightly coupled with an operating system (OS). A file system allows programs to access data in the form of files on a storage device by file name, as contrasted with directly accessing data regions or areas on the storage device.
File systems are implemented with various data storage media (e.g., magnetic storage disks, optical disks, magnetic tapes, and solid state disks) to maintain a physical location of files on the storage media. A file system may provide access to data on a file server by acting as a client for a network protocol. Alternatively, a file system may be virtualized and only exist as an access method for virtualized data. In general, file systems allocate space in a granular manner, usually allocating multiple physical units on a storage media for each file. File systems are responsible for organizing files and directories and keeping track of which areas of a storage media belong to which file and which areas of the storage media are not being used.
A clustered file system is a file system that is shared by being simultaneously mounted on multiple servers. A number of different architectural approaches may be employed for shared disk file systems. Some shared disk file systems distribute metadata (file information, such as file location, file size, etc.) across all servers in a cluster, i.e., are fully distributed file systems. Other shared disk file systems utilize a centralized metadata server, i.e., are partially distributed file systems. Whether a shared disk system is fully or partially distributed, all servers of the shared disk file system are configured to access all data on all shared storage devices.